xformers

您所在的位置:网站首页 ubuntu1804 gcc版本 xformers

xformers

2023-04-02 00:09| 来源: 网络整理| 查看: 265

xFormers是一个模块化和可编程的Transformer建模库;相关介绍可以查看官方文档: https://facebookresearch.github.io/xformers/;由于电脑硬件过于古老,需要使用到xformers的更老的版本,这里是0.0.11版本,这是使用torch==1.8.1的一个版本;

下载代码

git clone -b v0.0.11 https://github.com/facebookresearch/xformers.git # -b 指定下载 v0.0.11 tag的代码

首先正确安装不修改 torch的版本,默认xformers-0.0.11版本依赖是 torch >= 1.8.1,安装时会安装最新的torch版本:2.0.0同时使用python 3.9 进度安装;

创建python虚拟环境

# 第一个venv模块,第二个venv是创建了一个名叫`venv`的虚拟环境在当前目录下 python -m venv venv

安装依赖

venv/bin/pip install -r requirements.txt

编译

# MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ venv/bin/pip install -e . # 等待出现以下信息,编译成功! Installing collected packages: xformers Running setup.py develop for xformers Successfully installed xformers-0.0.11.dev0

但是这里我们的电脑硬件太老,需要torch==1.8.1,现在安装的是torch==2.0.0; 这时就需要指定torch版本。

# 清理掉原来的编译结果 venv/bin/python setup.py clean #再创建一下虚拟环境 python -m venv venv

在官方文档中有说明 torch 1.12 以及的版本,还需要手动安装相关的依赖,打开文档安装以前版本的torch说明 找到相关的命令

# 安装指定版本的 torch venv/bin/pip install torch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 # 再安装依赖 venv/bin/pip install -r requirements.txt # 再编译 MACOSX_DEPLOYMENT_TARGET=10.9 CC=gcc-9 CXX=g++-9 venv/bin/pip install -e . # 这时提示 error: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.9" but "11.6" during configure; # 去掉 MACOSX_DEPLOYMENT_TARGET 参数,再编译 CC=gcc-9 CXX=g++-9 venv/bin/pip install -e .

又提示 xformers/xformers/components/attention/csrc/cpu/attention.cpp:7:10: fatal error: 'ATen/cpu/vec/functional.h' file not found 上pytorch的github代码库,切到 v1.8.1分支找了一下,

确实没有这个文件,但是有 ATen/cpu/vec256/functional.h 这个文件,于是修改xformers/xformers/components/attention/csrc/cpu/attention.cpp为

... #include #include ... # 修改完成后,再编译,成功! CC=gcc-9 CXX=g++-9 venv/bin/pip install -e .



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3